package br.edu.unifei.cct720.trabalho08.gui.painel;

import java.awt.Color;
import java.awt.Graphics;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JPanel;

import br.edu.unifei.cct720.trabalho08.modelo.ponto.Ponto2D;


/**
 * Classe responsavel por implementar um painel
 * que apresenta as formas geometricas da aplicacao
 * 
 * @author fknappe
 *
 */
public class PainelDesenho extends JPanel  {

	// Declaracao das variaveis de instacia
	private List<Ponto2D> pontos;

	/**
	 * Construtor
	 */
	public PainelDesenho(){
		super();
		this.setBackground(Color.WHITE);
		pontos = new ArrayList<Ponto2D>();
	}

	/**
	 * Metodo responsavel por plotar os pixels das 
	 * formas geometricas no painel
	 * 
	 * @return void
	 */
	public void paint(Graphics g) {        
		super.paint(g);	 

		if (pontos != null) {
			for(Ponto2D ponto : pontos) {
				ponto.plota(g);
			}		
		}
	}

	// Metodos getters e setters
	public List<Ponto2D> getPontos() {
		return pontos;
	}

	public void setPontos(ArrayList<Ponto2D> pontos) {
		this.pontos = pontos;
	}

	public void addForma(Ponto2D ponto) {
		this.pontos.add(ponto);
	}
}
